# ============================================================
# * Copyright © hk. 2022-2025. All rights reserved.
# * File name: CMakeLists.txt
# * Author   : 苏木
# * Date     : 2025-05-22
# * Version  : 
# * Description: cmake version 3.16.3
# ============================================================
## https://cmake.com.cn/cmake/help/latest/guide/tutorial/index.html
## https://cmake.org/cmake/help/latest/

# 指定 CMake 的最低版本要求
# --------------------------------------------------
cmake_minimum_required(VERSION 3.10)


# 设置项目名称和使用的编程语言
# --------------------------------------------------
project(SPROJECT C)


# 指定可执行程序和源文件
# --------------------------------------------------
add_executable(app_demo.out main.c)


# file写入
# --------------------------------------------------
# file(WRITE <filename> <content>...) 
# 将指定的内容（content）写入文件（filename）.
# 如果文件不存在则创建文件
# 如果文件存在，WRITE模式将覆盖文件，APPEND模式将在末尾追加内容.
# 如果filename所在的路径中的任何一个目录不存在，该目录将被创建，不指定目录的话，默认会创建在顶层CmakeLists.txt所在目录。

message(STATUS "==> ${CMAKE_VERSION} 创建并写入数据到文件")
set(file_contents "This is file write test!\n") # 可以增加一个换行符
file(WRITE ${CMAKE_BINARY_DIR}/test_write.txt ${file_contents}) # 文件创建到构建的目录
message(STTAUS "[USER:TOP]write \"${file_contents}\" to ${CMAKE_BINARY_DIR}/test_write.txt ...")
message("")

message(STATUS "==> ${CMAKE_VERSION} 追加数据到文件")
set(file_contents "This is file append test!")
file(APPEND ${CMAKE_BINARY_DIR}/test_write.txt ${file_contents}) # 文件创建到构建的目录
message(STTAUS "[USER:TOP]append write \"${file_contents}\" to ${CMAKE_BINARY_DIR}/test_write.txt ...")
message("")
